<?php

class Application_Model_Usuario extends Application_Model_Abstract {

    public function __construct() {
        $this->_dbTable = new Application_Model_DbTable_Usuario();
    }

    public function insert($data) {
        //Tratando Exceções do Insert de Usuário

        if ($data["EMail"] == "")
            throw new Exception("EMail inválido ou em branco");

        if ($this->VerificaEMail($data["EMail"]))
            throw new Exception("Email já cadastrado");

        if ($data["Senha"] == "")
            throw new Exception("A senha não pode estar em branco");

        return $this->_dbTable->insert($data);
    }

    public function update(array $data, $where) {

        if ($data["EMail"] == "")
            throw new Exception("EMail inválido ou em branco");

        #if ($this->VerificaEMail($data["EMail"]))
            #throw new Exception("Email já cadastrado");

        if ($data["Senha"] == "")
            throw new Exception("A senha não pode estar em branco");
        
        return $this->_dbTable->update($data, $where);
    }

    public function VerificaEMail($email) {
        $result = $this->_dbTable->fetchRow("EMail = '" . $email . "'");
        if ($result)
            return true;
        else
            return false;
    }

}

